Android项目中WebView是必不可少的,越来越开的迭代节奏导致越来越多的App采用混合开发,接着我们就介绍一下Android中WebView的使用。
一、混合开发的优缺点:优点:1.开发成本较低:Android和iOS使用一个地址就可以。2.自动更新最新的web内容。3.兼容平台较多。缺点:1.用户体验没有原生的炫酷。2.连接网络等性能较差。但瑕不掩瑜,对于不需要炫酷动效的简单页面如:用户协议、注册说明、banner跳转的一些推广页面、图文展示的文章等页面都可以用WebView来完成!
二、如何配置WebView:常用的类:WebSettings用于管理WebView状态配置
webView.getSettings().setDisplayZoomControls(false);//是否使用内置缩放机制webView.getSettings().setSupportZoom(true);// 是否支持变焦wvSignin.getSettings().setBuiltInZoomControls(true);// 设置WebView是否应该使用其内置变焦机制,显示放大缩小 webView.getSettings().setUseWideViewPort(true);//是否开启控件viewport。默认false,自适应;true时标签中指定宽度值生效webView.getSettings().setLoadWithOverviewMode(true);webView.setInitialScale(100);// 初始化时缩放webView.getSettings().setJavaScriptEnabled(true);WebViewClient :主要帮助WebView处理各种通知、请求事件的。shouldOverrideUrlLoading(打开网页时不调用系统浏览器)onLoadResource(在加载页面资源时会调用)onPageStart(设定加载开始的操作)onPageFinish(在页面加载结束时调用。我们可以关闭loading 条,切换程序动作)onReceiveError(加载出错调用)
//首先选择加载方式 //方式1. 加载一个网页: webView.loadUrl("http://www.google.com/"); //方式2:加载apk包中的html页面 webView.loadUrl("file:///android_asset/test.html"); //方式3:加载手机本地的html页面webView.loadUrl("content://com.android.htmlfileprovider/sdcard/test.html");webView.setWebViewClient(new WebViewClient() {@Overridepublic void doUpdateVisitedHistory(WebView view, String url,boolean isReload) {super.doUpdateVisitedHistory(view, url, isReload);}public boolean shouldOverrideUrlLoading(WebView view, String url) {view.loadUrl(url);// 点击超